// const test = new Function('a', 'b', 'c', 'console.log(a + b + c)')
//  const test = new Function('a, b, c', 'console.log(a + b + c)')
// test(1, 2, 3)  // 6  上面两种写法一样



// var a = 1,
//     b = 2;

// function test() {
//   var b = 3;
//   return new Function('c', 'var b = 100; console.log(a + b + c)')
// }

// const t = test();
// t(4) 
// 1.浏览器中执行 7   new Function() 中的作用域只有自身和全局两个，不会逐层向上找，如下
//  new Function('c', 'console.log(a + b + c)')  // 7
//  new Function('c', 'var b = 100; console.log(a + b + c)')  // 105

// 2.node环境下，会报错：a is not defined
// 因为node的全局是global，而js文件中定义的变量是在module中，自己中的定义可以获取到


var t1 = new Function('console.log("t1")')
var t2 = Function('console.log("t2")')

t1()
t2() // 两种写法一样

// 说明
console.log(Function.__proto__ === Function.prototype)